package com.kws.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.kws.system.domain.SysMessageManage;
import com.kws.system.domain.info.QueryMessageNotificationInfo;
import com.kws.system.domain.info.QueryMessageUserInfo;
import com.kws.system.domain.vo.CreateMessageNotificationRq;
import com.kws.system.domain.vo.QueryMessageUserRq;
import com.kws.system.domain.vo.UpdateMessageNotificationRq;

public interface SysMessageManageService extends IService<SysMessageManage> {
    Page<QueryMessageNotificationInfo> queryMessageNotificationPage(Integer pageNum, Integer pageSize, String messageName);

    boolean createMessageNotification(CreateMessageNotificationRq rq);

    QueryMessageNotificationInfo queryMessageNotificationById(Long id);

    boolean updateMessageNotification(UpdateMessageNotificationRq rq);

    boolean deleteMessageNotificationById(Long id);

    boolean releaseMessageNotificationById(Long id);

    PageInfo<QueryMessageUserInfo> queryUserPage(QueryMessageUserRq rq);

    SysMessageManage queryMessageManageById(long messageId);
}
